package 第一讲基础算法;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
  
public class AcWing803 {
	static int N=100010;
	static int[] a;
	static List<int[]> list=new ArrayList<>();
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		for(int i=0;i<n;i++) {
			a=new int[2];
			a[0]=sc.nextInt();
			a[1]=sc.nextInt();
			list.add(a);
		}
		sc.close();
		//按左端点排序
		list.sort(new Comparator<int[]>() {
			@Override
			public int compare(int[] o1, int[] o2) {
				return o1[0]-o2[0];
			}	
		});
//		int k=0;
//		int r=Integer.MIN_VALUE;
//		for(int a[]:list) {
//			if(a[0]>r) {
//				k++;
//			}
//			//更新右端点
//			r=Math.max(r, a[1]);
//		}
//		System.out.println(k);
		int l=Integer.MIN_VALUE;
		int r=Integer.MIN_VALUE;
		List<int[]> res=new ArrayList<>();
		for(int a[]:list) {
			if(a[0]>r) {
				if(l!=Integer.MIN_VALUE) {
					res.add(new int[] {l,r});
				}
				l=a[0];
				r=a[1];
			}else {
				r=Math.max(r, a[1]);
			}
		}
		//最后剩下一个区间
		if(l!=Integer.MIN_VALUE) {
			res.add(new int[] {l,r});
		}

		System.out.println(res.size());
	}

}
